package org.mm.service;

import java.util.List;

import org.mm.model.Patient;
import org.mm.model.Therapy;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

/**
 * TherapyService
 *
 * @author Marco Traversari
 * @version $Revision: $ $Date: $ $Author: $
 */
public interface TherapyService {

	public List<Therapy> findTherapyByPatient(Patient patient) throws Exception;

	public Therapy findTherapyByIdAndPatient(Long therapyId, Patient patient) throws Exception;
		
	public List<Therapy> findAll() throws Exception;
	
	public Therapy findById(Long id) throws Exception;
	
	public Therapy save(Therapy therapy) throws Exception;
	
	public Page<Therapy> findAllByPage(Pageable pageable) throws Exception;
	
	public Page<Therapy> findAllByPage(Pageable pageable, Patient patient) throws Exception;
	
	public void delete(Therapy therapy) throws Exception;

}
